using System;
using System.Collections.Generic;
using Soleil.Domain.Core;
using Soleil.Domain.Core.DomainObjects;

namespace Soleil.Domain.ebrary
{
    public class Book : DomainObject
    {
        #region Properties

        /// <summary>
        /// Gets or sets the smallImage for the current Book
        /// </summary>
        public virtual Byte[] SmallImage { get; set; }

        public virtual bool Edited { get; set; }

        /// <summary>
        /// Gets or sets the mediumImage for the current Book
        /// </summary>
        public virtual Byte[] MediumImage { get; set; }

        public virtual Byte[] FileContent { get; set; }

        /// <summary>
        /// Gets or sets the largeImage for the current Book
        /// </summary>
        public virtual Byte[] LargeImage { get; set; }

        /// <summary>
        /// Gets or sets the bookDescription for the current Book
        /// </summary>
        public virtual String BookDescription { get; set; }

        /// <summary>
        /// Gets or sets the bookName for the current Book
        /// </summary>
        public virtual String BookName { get; set; }

        /// <summary>
        /// Gets or sets the price for the current Book
        /// </summary>
        public virtual String Price { get; set; }

        /// <summary>
        /// Gets or sets the releaseDate for the current Book
        /// </summary>
        public virtual String ReleaseDate { get; set; }

        /// <summary>
        /// Gets or sets the nrOfPages for the current Book
        /// </summary>
        public virtual String NrOfPages { get; set; }

        /// <summary>
        /// Gets or sets the isbn for the current Book
        /// </summary>
        public virtual String Isbn { get; set; }

        /// <summary>
        /// Gets or sets the ebookPath for the current Book
        /// </summary>
        public virtual String EbookPath { get; set; }

        /// <summary>
        /// Gets or sets the insertDate for the current Book
        /// </summary>
        public virtual DateTime InsertDate { get; set; }

        /// <summary>
        /// Gets or sets the publisher for the current Book
        /// </summary>
        public virtual String Publisher { get; set; }

        /// <summary>
        /// Gets or sets the reviews for the current Book
        /// </summary>
        //[DataMember]
        public virtual Review Reviews { get; set; }

        /// <summary>
        /// Gets or sets the author for the current Book
        /// </summary>
        public virtual IList<Author> Authors { get; set; }

        /// <summary>
        /// Gets or sets the category for the current Book
        /// </summary>
        //[DataMember]
        public virtual IList<Category> Categories { get; set; }

        #endregion

    }
}